package RemoteServerInterface;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

import Po.BookPO;
import Po.IdCustomer;
import Po.Manager;
import Po.ManagerCustomer;
import Po.Message;
import Po.Order;
import Po.Promotion;
import Po.State;


public interface SaleManagerServerInterface extends Remote{
	 public ManagerCustomer getCustomer(int customerID) throws RemoteException;
	 public ArrayList<IdCustomer> getAllCustomer() throws RemoteException;
	 public BookPO getBookDetail(String ISBN) throws RemoteException; 
	 public Message addBook(BookPO book) throws RemoteException; 
	 public Message deleteBook(String ISBN) throws RemoteException;
	 public Message modifyBook(BookPO book) throws RemoteException;
	 public Message addNode(String fatherName ,String thisName) throws RemoteException;
	 public Message deleteNode(String name) throws RemoteException;
	 public Message modifyNode(String preName,String newName) throws RemoteException;
	 public Message presentPromotion(Promotion promrotion,int ID,int num) throws RemoteException;
	 public ArrayList<Promotion> getAllPromotionList() throws RemoteException;
	 public Message modifyOrder(int orderID,State state) throws RemoteException;
	 public ArrayList<Order> getUnfinishedOrderList() throws RemoteException;
	 public Manager SaleManagerLogin(Manager manager) throws RemoteException;
}
